package com.wxm.jwt.util;

import com.wxm.jwt.exception.JWTException;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;

/**
 * <p>
 * 文件工具类
 * </p>
 *
 * @author: wxm
 * @Date: 2021/10/6
 */
public class FileUtils {
    private FileUtils(){}

    /**
     * 将文件内容转为byte[]
     * @param file File
     * @return byte[]
     */
    public static byte[] getFileByteArray(File file){
        try(FileInputStream fis = new FileInputStream(file)) {
            //新的 byte 数组输出流，缓冲区容量1024byte
            ByteArrayOutputStream bos = new ByteArrayOutputStream(1024);
            //缓存
            byte[] b = new byte[1024];
            int n;
            while ((n = fis.read(b)) != -1) {
                bos.write(b, 0, n);
            }
            //改变为byte[]
            byte[] data = bos.toByteArray();
            //关闭流
            bos.close();
            return data;
        }catch (Exception e){
            JWTException.error("JWT文件配置读取失败");
        }
        return null;
    }
}
